<template>
  <a-card :bordered="false">
    <!-- 查询区域 -->
    <div class="table-page-search-wrapper">
      <a-form layout="inline" @keyup.enter.native="searchQuery">
        <a-row :gutter="24">

          <a-col :md="4" :sm="6">
            <a-form-item label="学校名称" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}">
              <j-input placeholder v-model="queryParam.schoolName"></j-input>
            </a-form-item>
          </a-col>

          <a-col :md="6" :sm="24">
            <a-button type="primary" @click="searchQuery" icon="search" style="margin-left: 21px">查询</a-button>
            <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
          </a-col>
        </a-row>
      </a-form>
    </div>
    <!-- 查询区域-END -->

    <!-- 操作按钮区域 -->
    <div class="table-operator">
      <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
<!--            <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
              <a-button type="primary" icon="import">导入</a-button>
            </a-upload> -->
      <a-dropdown v-if="selectedRowKeys.length > 0">
        <a-menu slot="overlay">
          <a-menu-item key="1" @click="batchDel">
            <a-icon type="delete" />删除</a-menu-item>
        </a-menu>
        <a-button style="margin-left: 8px"> 批量操作
          <a-icon type="down" />
        </a-button>
      </a-dropdown>
    </div>

    <!-- table区域-begin -->
    <div>
      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
        <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
        <a style="margin-left: 24px" @click="onClearSelected">清空</a>
      </div>

      <a-table ref="table" size="middle" :scroll="{x:true}" bordered rowKey="id" :columns="columns" :dataSource="dataSource"
        :pagination="ipagination" :loading="loading" :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
        class="j-table-force-nowrap" @change="handleTableChange">

        <template slot="avatarslot" slot-scope="text, record">
          <div class="anty-img-wrap">
            <a-avatar shape="square" :src="getAvatarView(record.schoolLogo)" icon="logo" />
          </div>
        </template>


        <span slot="action" slot-scope="text, record">
          <a @click="handleEdit(record)">编辑</a>

          <a v-if="record.type == 1" @click="hide(record.id)"><a-divider type="vertical" />隐藏</a>
          <a v-if="record.type == 2" @click="show(record.id)"><a-divider type="vertical" />显示</a>
          
          <a v-if="record.recommend == '2'" @click="setRecommend(record.id)"><a-divider type="vertical" />设为推荐</a>
          <a v-if="record.recommend == '1'" @click="cancelRecommend(record.id)"><a-divider type="vertical" />取消推荐</a>
          <a-divider type="vertical" />
          <a-dropdown>
            <a class="ant-dropdown-link">更多
              <a-icon type="down" /></a>
            <a-menu slot="overlay">
              <a-menu-item>
                <a @click="getSchoolInfo(record.id)">详情</a>
              </a-menu-item>
              <a-menu-item>
                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
                  <a>删除</a>
                </a-popconfirm>
              </a-menu-item>
            </a-menu>
          </a-dropdown>
        </span>

      </a-table>
    </div>

    <school-management-modal ref="modalForm" @ok="modalFormOk"></school-management-modal>

    <!-- 学校详情 -->
    <a-modal v-model="schoolInfoVisible" title="Basic Modal" @ok="handleOk">
      <p>学校LOGO: &nbsp;
        <a-avatar :src="this.schoolInfo.schoolLogo" />
        <p>
          <p>学校名称: &nbsp;{{schoolInfo.schoolName}}</p>
          <p>学校简称: &nbsp; {{schoolInfo.schoolAbbreviation}}</p>
          <p>学校简介: &nbsp; {{schoolInfo.schoolIntroduction}}</p>
          <p>所属城市: &nbsp; {{schoolInfo.addr}}</p>
          <p>关注数量: &nbsp; {{schoolInfo.attentionNum}} </p>
          <p>校友数量: &nbsp; {{schoolInfo.alumniNum}}</p>
    </a-modal>
  </a-card>
</template>

<script>
  import '@/assets/less/TableExpand.less'
  import {
    mixinDevice
  } from '@/utils/mixin'
  import {
    JeecgListMixin
  } from '@/mixins/JeecgListMixin'
  import SchoolManagementModal from './modules/SchoolManagementModal'
  import {
    putAction,
    getFileAccessHttpUrl,
    getAction
  } from '@/api/manage'
  import JInput from '@comp/jeecg/JInput'


  export default {
    name: "SchoolManagementList",
    mixins: [JeecgListMixin, mixinDevice],
    components: {
      SchoolManagementModal,
      JInput
    },
    data() {
      return {
        schoolInfo: {},
        schoolInfoVisible: false,
        description: '学校管理表管理页面',
        // 表头
        columns: [{
            title: '#',
            dataIndex: '',
            key: 'rowIndex',
            width: 60,
            align: "center",
            customRender: function(t, r, index) {
              return parseInt(index) + 1;
            }
          },
          {
            title: '学校名称',
            align: "center",
            dataIndex: 'schoolName'
          },
          {
            title: '学校logo',
            align: "center",
            dataIndex: 'schoolLogo',
            width: 120,
            scopedSlots: {
              customRender: 'avatarslot'
            }

          },
          {
            title: '学校简称',
            align: "center",
            dataIndex: 'schoolAbbreviation'
          },
          {
            title: '学校简介',
            align: "center",
            dataIndex: 'schoolIntroduction'
          },
          {
            title: '所属城市',
            align: "center",
            dataIndex: 'addr'
          },
          {
            title: '关注数',
            align: "center",
            dataIndex: 'attentionNum'
          },
          {
            title: '校友数',
            align: "center",
            dataIndex: 'alumniNum'
          },
          {
            title: '显示/隐藏',
            align: "center",
            dataIndex: 'type_dictText'
          },
          {
            title: '已推荐/未推荐',
            align: "center",
            dataIndex: 'recommend_dictText'
          },
          // {
          //   title:'删除',
          //   align:"center",
          //   dataIndex: 'delFlag'
          // },
          {
            title: '操作',
            dataIndex: 'action',
            align: "center",
            fixed: "right",
            width: 147,
            scopedSlots: {
              customRender: 'action'
            }
          }
        ],
        url: {
          list: "/schoolManagement/schoolManagement/list",
          delete: "/schoolManagement/schoolManagement/delete",
          deleteBatch: "/schoolManagement/schoolManagement/deleteBatch",
          exportXlsUrl: "/schoolManagement/schoolManagement/exportXls",
          importExcelUrl: "schoolManagement/schoolManagement/importExcel",

        },
        dictOptions: {},
      }
    },
    created() {},
    computed: {
      importExcelUrl: function() {
        return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
      },
    },
    methods: {
      getAvatarView: function(avatar) {
        return getFileAccessHttpUrl(avatar)
      },
      initDictConfig() {},
      getSchoolInfo(id) {
        this.axios.get("/schoolManagement/schoolManagement/getSchoolInfo", {
          params: {
            id: id
          }
        }).then((res) => {
          this.schoolInfo = res.result;
        })

        this.schoolInfoVisible = true;
      },
      handleOk(e) {
        console.log(e);
        this.schoolInfoVisible = false;
      },
      //状态：1显示，2隐藏
      hide(id){
        //修改学校状态   隐藏
          this.axios.get("/schoolManagement/schoolManagement/showOrHide",{params: {id:id,type: '2'}}).then((res => {
            this.loadData();
          }))
      },
      show(id){
        this.axios.get("/schoolManagement/schoolManagement/showOrHide",{params: {id:id,type: '1'}}).then((res => {
          this.loadData();
        }))
      },
      setRecommend(id){
         this.axios.get("/schoolManagement/schoolManagement/setRecomment",{params:{id:id,recommend: '1'}}).then((res) => {
           this.loadData();
         });
      },
      cancelRecommend(id){
         this.axios.get("/schoolManagement/schoolManagement/setRecomment",{params:{id:id,recommend: '2'}}).then((res) => {
           this.loadData();
         });
      }
    }
  }
</script>
<style scoped>
  @import '~@assets/less/common.less';
</style>
